home *** CD-ROM | disk | FTP | other *** search
/ JCSM Shareware Collection 1996 September / JCSM Shareware Collection (JCS Distribution) (September 1996).ISO / butility / orchis.zip / ORCHIS.PRO < prev    next >
Text File  |  1994-03-05  |  4KB  |  65 lines

  1. /ss save def /d0 1000 dict def d0 begin 0 setlinecap 0 setlinejoin
  2. newpath /pm matrix def /pcov false def /ppov false def /mfon
  3. 0 def /ocol 0 def /fibs false def /bd {bind def} bind def /so
  4. {/cpov ppov def /ccov pcov def translate cpov {2 copy pm identmatrix
  5. scale currentlinewidth dup 3 -1 roll idtransform add 2 div dup
  6. dup setlinewidth 7 -1 roll add 6 1 roll 5 -1 roll add 4 1 roll}
  7. if scale scar exch get exec cpov not {ppen [] 0 setdash} if ccov
  8. {/tcol gcol def /ocol gcol def} {/tcol 0 def /gcol 0 def 0 scol}
  9. ifelse reset} bd /scar [{pop pop} {exch pop 0 translate 90 rotate}
  10. {translate 180 rotate} {pop 0 exch translate 270 rotate} {pop
  11. pop [0 1 1 0 0 0] concat} {[1 0 0 -1 0 0] concat 0 exch neg translate
  12. pop} {[0 -1 -1 0 0 0] concat neg exch neg exch translate} {pop
  13. [-1 0 0 1 0 0] concat neg 0 translate}] def /wind {newpath moveto
  14. dup 0 exch l2 exch 0 l2 neg 0 exch l2 clip newpath} bd /dod {3
  15. 1 roll def def} bd /fix {256 div} bd /ov0 {ccov not {/pcov false
  16. def} if cpov not {/ppov false def} if} bd /ov1 {/pcov true def
  17. cpov not {/ppov false def} if} bd /ov2 {ccov not {/pcov false
  18. def} if /ppov true def} bd /ov3 {/pcov true def /ppov true def}
  19. bd /pen {cpov {pop} {setlinewidth} ifelse} bd /ppen {cpov not
  20. {.18 .18 pm defaultmatrix dtransform idtransform abs exch abs
  21. 2 copy ge {exch} if pop setlinewidth} if} bd /dash {/off exch
  22. def /on exch def cpov not {on 0 eq {[] 0 setdash} {[on off] 0
  23. setdash} ifelse} if} bd /cola [{0 0 0} {1 0 0} {0 0 1} {1 1 0}
  24. {0 1 0} {.5 .25 0} {1 0 1} {0 1 1} {1 .5 0} {.75 1 0} {.75 .75
  25. .75} {1 .75 1} {.5 0 1} {1 .75 0} {.5 .75 0} {1 1 1}] def /scol
  26. {fibs {pop} {cola exch get exec setrgbcolor} ifelse} bd /apco
  27. {dup 15 ne ccov and {pop ocol} if} bd /gc {apco dup /gcol exch
  28. def scol} bd /tc {apco /tcol exch def} bd /ts {/bsiz exch def
  29. /ysiz exch def /xsiz exch def} bd /ta {/tall exch def} bd /tj
  30. {/tjus exch def} bd /tr {/trot exch def} bd /saves {gsave gcol
  31. tcol ocol dfon xsiz ysiz bsiz tjus trot mfon tall cpov ppov ccov
  32. pcov fibs 16 array astore} bd /rests {aload pop /fibs exch def
  33. /pcov exch def /ccov exch def /ppov exch def /cpov exch def /tall
  34. exch def /mfon exch def /trot exch def /tjus exch def /bsiz exch
  35. def /ysiz exch def /xsiz exch def /dfon exch def /ocol exch def
  36. /tcol exch def /gcol exch def grestore} bd /reset {/trot 0 def
  37. /tall 0 def /tjus 0 def /dfon 0 def /xsiz 0 def /ysiz 0 def /bsiz
  38. 0 def} bd /m1 {moveto} bd /m2 {currentlinewidth 2.83 div dup
  39. 3 1 roll add 3 1 roll add exch moveto} bd /l2 {rlineto} bd /FONTS
  40. [ /Times-Roman /Times-Italic /Times-Bold /Times-BoldItalic /Helvetica
  41. /Helvetica-Oblique /Helvetica-Bold /Helvetica-BoldOblique /Bookman-Light
  42. /Bookman-LightItalic /Bookman-Demi /Bookman-DemiItalic /Palatino-Roman
  43. /Palatino-Italic /Palatino-Bold /Palatino-BoldItalic /AvantGarde-Book
  44. /AvantGarde-BookOblique /AvantGarde-Demi /AvantGarde-DemiOblique
  45. /ZapfChancery-MediumItalic /Symbol ] def /gfon {/rot exch def
  46. findfont /fon exch def matrix scale tart rot get matrix concatmatrix
  47. fon exch makefont} bd /tart [[1 0 0 -1 0 0] [0 1 1 0 0 0] [-1
  48. 0 0 1 0 0] [0 -1 -1 0 0 0] [0 1 -1 0 0 0] [1 0 0 1 0 0] [0 -1
  49. 1 0 0 0] [-1 0 0 -1 0 0]] def /font {/dfon exch def /mfon xsiz
  50. ysiz FONTS dfon get trot gfon def} bd /text {tcol scol /str exch
  51. def /plen exch def /box exch def /y4 exch def /x4 exch def mfon
  52. setfont /stln str stringwidth add abs def /xOff /esp stln plen
  53. box just dod /yOff /xOff xOff box talc dod xOff yOff rtex y4
  54. add exch x4 add exch moveto esp 0 eq {str show} {/chan str length
  55. def chan 1 gt { esp chan 1 sub div 0 rtex str ashow} {str show}
  56. ifelse} ifelse gcol scol} bd /just {/boxS exch def /pepL exch
  57. def /strL exch def jtab tjus get exec} bd /jtab [ {0 boxS strL
  58. sub 2 div} {0 0} {0 boxS strL sub} {boxS strL sub 0} {pepL strL
  59. sub boxS pepL sub 2 div} {pepL strL sub 0} {pepL strL sub boxS
  60. pepL sub} {boxS strL sub 0}] bd /talc {allht tall 4 idiv get
  61. exec allvt tall 4 mod get exec} bd /allht [ {pop} {2 div sub}
  62. {sub}] def /allvt [ {bsiz} {bsiz ysiz 2 div sub} {bsiz ysiz sub}
  63. {0}] def /rtex {cart trot get exec} bd /cart [{} {neg exch} {neg
  64. exch neg exch} {exch neg} {exch} {neg} {neg exch neg} {exch neg
  65. exch}] def